---
title: Penempatan Lokasi
description: Menyesuaikan bahasa dApp anda dengan terjemahan terbina dalam
---

# Penempatan Lokasi

## Menyesuaikan bahasa dApp anda dengan terjemahan terbina dalam

Secara lalai, RainbowKit menyokong lokal 'en-US' untuk pengguna bahasa Inggeris.

Jika tersedia, RainbowKit akan mengesan [bahasa pilihan](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language) pengguna dan memilih terjemahan yang sesuai. Pembangun sentiasa boleh mengatasi bahasa lalai.

Untuk menentukan bahasa untuk pengguna anda, tambah sahaja `locale="zh-CN"` sebagai prop dalam `RainbowKitProvider` anda.

```tsx
import { RainbowKitProvider } from '@rainbow-me/rainbowkit';

export const App = () => (
  <RainbowKitProvider locale="zh-CN" {...etc}>
    {/* Your App */}
  </RainbowKitProvider>
);
```

### Menggunakan dengan Next.js

Sokongan penempatan lokasi RainbowKit berfungsi lebih baik dengan [Laluan Sub-jalan](https://nextjs.org/docs/pages/building-your-application/routing/internationalization#sub-path-routing).

Konfigurasikan projek Next.js anda seperti contoh di bawah untuk menambah laluan subpilihan `/locale/` kepada laluan anda, yang akan membantu enjin carian dan pengguna untuk lebih mengenali sokongan pelbagai bahasa anda.

```json
// next.config.js
{
  i18n: {
    locales: ['default', 'en', 'zh-CN'],
    defaultLocale: 'default',
  },
}
```

Kemudian operkan `locale` yang disediakan oleh Pages Router kepada `RainbowKitProvider`.

```tsx
import { RainbowKitProvider, Locale } from '@rainbow-me/rainbowkit';

export const App = () => {
  const { locale } = useRouter() as { locale: Locale };
  return (
    <RainbowKitProvider locale={locale} {...etc}>
      {/* Your App */}
    </RainbowKitProvider>
  )
};
```

Anda boleh merujuk kepada contoh untuk Pages Router [di sini](https://github.com/rainbow-me/rainbowkit/tree/main/examples/with-next).

App Router belum menyokong i18n. Rujuk contoh berasingan kami [di sini](https://github.com/rainbow-me/rainbowkit/tree/main/examples/with-next-app-i18n) untuk amalan terbaik pelaksanaan dengan perantara [`next-intl`](https://github.com/amannn/next-intl).

Adalah disyorkan anda menggunakan teknik yang sama untuk menterjemah kandungan dApp anda bagi menyokong sepenuhnya penempatan lokasi. Perpustakaan penempatan lokasi seperti [`i18n-js`](https://github.com/fnando/i18n) dan [`next-intl`](https://github.com/amannn/next-intl) serta alat pengurusan seperti Crowdin akan memudahkan proses ini.

### Bahasa Yang Disokong

Kami menyediakan sokongan penuh untuk kawasan `locale` berikut:

<Table
  header={[
    'Bahasa', 'Wilayah', 'Locale', 'Shortform'
  ]}
  dataTypes={[
    'string', 'string', 'code', 'code'
  ]}
  data={[
    ['Inggeris', 'Amerika Syarikat 🇺🇸', 'en-US', 'en'],
    ['中文', 'China 🇨🇳', 'zh-CN', 'zh-Hans', 'zh'],
    ['繁體中文', 'Hong Kong 🇭🇰', 'zh-HK'],
    ['繁體中文', 'Taiwan 🇹🇼', 'zh-TW', 'zh-Hant'],
    ['हिंदी', 'India 🇮🇳', 'hi-IN', 'hi'],
    ['Español', 'Amerika Latin 🌎', 'es-419', 'es'],
    ['Français', 'Perancis 🇫🇷', 'fr-FR', 'fr'],
    ['العربية', 'Timur Tengah 🌍', 'ar-AR', 'ar'],
    ['Português', 'Brazil 🇧🇷', 'pt-BR', 'pt'],
    ['Русский', 'Rusia 🇷🇺', 'ru-RU', 'ru'],
    ['Bahasa Indonesia', 'Indonesia 🇮🇩', 'id-ID', 'id'],
    ['日本語', 'Jepun 🇯🇵', 'ja-JP', 'ja'],
    ['Türkçe', 'Turki 🇹🇷', 'tr-TR', 'tr'],
    ['한국어', 'Korea Selatan 🇰🇷', 'ko-KR', 'ko'],
    ['ภาษาไทย', 'Thailand 🇹🇭', 'th-TH', 'th'],
    ['українська', 'Ukraine 🇺🇦', 'uk-UA', 'ua'],
    ['Tiếng Việt', 'Vietnam 🇻🇳', 'vi-VN', 'vi'],
    ['Deutsch', 'Jerman 🇩🇪', 'de-DE', 'de'],
    ['Bahasa Melayu', 'Malaysia 🇲🇾', 'ms-MY', 'ms']
  ]}
/>

Jika anda ingin melihat sokongan untuk bahasa tambahan, sila buka [GitHub Discussion](https://github.com/rainbow-me/rainbowkit/discussions/new?category=ideas) dan kami akan berusaha untuk menyokongnya secepat mungkin.
